package com.yami.shop.mystery.common.vo;

import com.baomidou.mybatisplus.annotation.TableField;
import com.yami.shop.mystery.common.model.MysteryBoxExtension;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;

import javax.validation.constraints.Min;
import javax.validation.constraints.NotEmpty;
import javax.validation.constraints.NotNull;
import java.io.Serializable;
import java.util.List;

/**
 * 保存盲盒盒子信息参数
 *
 * @author wxf
 * @date 2023/4/10 17:23
 */
@Data
public class MysteryBoxParam implements Serializable {

    private static final long serialVersionUID = 1L;

    @Schema(description = "盲盒盒子id")
    private Long id;

    @Schema(description = "盲盒名称")
    @NotNull
    private String boxName;

    @Schema(description = "原价（分）")
    private Double oriPrice;

    @Schema(description = "现价（分）")
    @NotNull
    private Double price;

    @Schema(description = "商品卖点")
    private String brief;

    @Schema(description = "商品详情")
    private String content;

    @Schema(description = "商品视频")
    private String video;

    @Schema(description = "主图")
    private String pic;

    @Schema(description = "商品图片，以,分割")
    private String imgs;

    @Schema(description = "-1:删除、0:商家下架、1:上架、2:违规下架、3:平台审核、4:商品正常上架")
    private Long status;

    @Schema(description = "盲盒盒子库存")
    @Min(1)
    @NotNull
    private Long totalStocks;

    @Schema(description = "是否推荐 1 是 0 否")
    private Long isRecommend;

    @Schema(description = "排序值")
    private Long recommendNum;

    @Schema(description = "分账ID")
    private Long divisionReceiverId;

    @Schema(description = "限购数量")
    private Long quota;

    @Schema(description = "创作者")
    @NotNull
    private String author;

    @Schema(description = "创作者头像")
    @NotNull
    private String authorImg;

    @Schema(description = "发行方")
    private String issue;

    @Schema(description = "购买需知")
    private String inform;

    @Schema(description = "活动规则")
    private String activityRules;

    @Schema(description = "稀有度")
    private Long levelId;

    @Schema(description = "空奖个数")
    private Double losingLottery;

    @Schema(description = "空奖概率")
    private Long isLosingLottery;

    @Schema(description = "空奖库存")
    private Long losingLotteryStock;

    @Schema(description = "在平台当中的分类id")
    private Long categoryId;

    @Schema(description = "在店铺当中的分类id")
    private Long shopCategoryId;

    @Schema(description = "链信息")
    private String chain;

    @Schema(description = "盲盒盒子商品规格列表")
    @NotNull
    @NotEmpty
    private List<MysteryBoxExtension> prods;
}
